package com.itheima.a01mymap;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class A02_HashMapDemo1 {
    public static void main(String[] args) {
        /*创建一个HashMap集合，键是学生对象，值是籍贯
        存储3个键值对元素，并遍历
        要求属性值相同认为是同一个学生*/

        //创建一个HashMap集合，键是学生对象，值是籍贯
        HashMap<Student,String> hm=new HashMap<>();

        //存储3个键值对元素
        hm.put(new Student("zhangsan", 19), "北京");
        hm.put(new Student("lisi",19),"上海");
        hm.put(new Student("wangwu",19),"江西");
        hm.put(new Student("wangwu",19),"gg");

        //lambda表达式直接遍历，不需要转成单列集合再遍历
        hm.forEach((key,value)-> System.out.println(key+"="+value));

        System.out.println("------------------");

        //key找值
        //先变成单列集合
        Set<Student> keySet = hm.keySet();
        //遍历单列集合
        for (Student key : keySet) {
            //拿到每个key，再找value
            System.out.println(key+"="+hm.get(key));
        }

        System.out.println("------------------");

        //entry找key和value
        for (Map.Entry<Student, String> entry : hm.entrySet()) {
            System.out.println(entry.getKey()+"="+entry.getValue());
        }



    }
}
